package com.zy.business.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zy.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description  加班实体类
 * @Author  zhangxiaojia
 * @Date 2020-04-07
 */

@Data
@EqualsAndHashCode
@ApiModel
@TableName("tb_overwork" )
public class TbOverwork  extends BaseEntity {

	/**
	 * 主键
	 */
   	 @TableId(value = "OVERWORK_ID")
	 @ApiModelProperty(hidden = true)
	private Long overworkId;

	/**
	 * 项目id
	 */
   	 @TableField("PROJECT_ID" )
	 @ApiModelProperty(value ="项目id",required = true)
	private Long projectId;

	/**
	 * 项目名称
	 */
	@TableField(exist = false)
	@ApiModelProperty(hidden = true)
	private String projectName;

	/**
	 * 开始日期
	 */
   	 @TableField("START_TIME" )
	 @ApiModelProperty(value ="开始时间",required = true)
	 @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
	private Date startTime;

	/**
	 * 结束日期
	 */
   	 @TableField("END_TIME" )
	 @ApiModelProperty(value ="结束时间",required = true)
	 @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
	private Date endTime;

	/**
	 * 工时
	 */
   	 @TableField("WORK_HOUR" )
	 @ApiModelProperty(value ="工时",required = true)
	private Double workHour;

	/**
	 * 加班事由
	 */
   	 @TableField("REASON" )
	 @ApiModelProperty(value ="加班事由",required = true)
	private String reason;

	/**
	 * 状态0.审核中1不通过2通过
	 */
	@TableField("STATUS")
	@ApiModelProperty(hidden = true)
	private Integer status;


	@ApiModelProperty(value ="审批人id",required = true)
	@TableField("approve_id")
	private Long approveId;

	@TableField("apply_id")
	private Long applyId;

	/**
	 * 抄送人ids
	 */
	@TableField("copy_ids" )
	@ApiModelProperty(value ="抄送人ids")
	private String copyIds;

	/**
	 * 抄送人names
	 */
	@TableField(exist = false)
	@ApiModelProperty(hidden = true)
	private String copyNames;

	/**
	 * 删除标志0未删除1已删除
	 */
	@TableLogic
	@TableField(value = "del_flag")
	@ApiModelProperty(hidden = true)
	private String delFlag;

	@TableField(exist = false)
	private String approveUser;

	@TableField(exist = false)
	private Integer isEdit;

}
